{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Explore Random Graphs Using NetworkX"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, we build a simple UI for exploring random graphs with [NetworkX](http://networkx.github.io/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from ipywidgets import interact"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import networkx as nx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# wrap a few graph generation functions so they have the same signature\n",
    "\n",
    "def random_lobster(n, m, k, p):\n",
    "    return nx.random_lobster(n, p, p / m)\n",
    "\n",
    "def powerlaw_cluster(n, m, k, p):\n",
    "    return nx.powerlaw_cluster_graph(n, m, p)\n",
    "\n",
    "def erdos_renyi(n, m, k, p):\n",
    "    return nx.erdos_renyi_graph(n, p)\n",
    "\n",
    "def newman_watts_strogatz(n, m, k, p):\n",
    "    return nx.newman_watts_strogatz_graph(n, k, p)\n",
    "\n",
    "def plot_random_graph(n, m, k, p, generator):\n",
    "    g = generator(n, m, k, p)\n",
    "    nx.draw(g)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8ce1d22d80e74ad68a5131aa5843fe3b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=16, description='n', max=30, min=2), IntSlider(value=5, description='m',…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "interact(plot_random_graph, n=(2,30), m=(1,10), k=(1,10), p=(0.0, 1.0, 0.001),\n",
    "         generator={\n",
    "             'lobster': random_lobster,\n",
    "             'power law': powerlaw_cluster,\n",
    "             'Newman-Watts-Strogatz': newman_watts_strogatz,\n",
    "             u'Erdős-Rényi': erdos_renyi,\n",
    "         });"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "120e36e54bcf4736b98e9f55567b4bf7": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "3de3f658ee0c463ab28c2e881d1a2be2": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "440aaca2972d40149c237f3d56e4ac6f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "446a0820466d4ff28f607b87ed2dd7b4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "501d8873caa14b58b9a78f19caa91ea3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "FloatSliderModel",
      "state": {
       "description": "p",
       "layout": "IPY_MODEL_8ce6ae3e5b1d458f9e55fc56249b2f1a",
       "max": 1,
       "step": 0.001,
       "style": "IPY_MODEL_a8b5867e8ac44cc7a5d371b01ccffba8",
       "value": 0.5
      }
     },
     "62b96c1445874d2f9c87e8e5d8f92c2c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "IntSliderModel",
      "state": {
       "description": "k",
       "layout": "IPY_MODEL_7bf8ea55b40642faa56ce38f2ce5eb17",
       "max": 10,
       "min": 1,
       "style": "IPY_MODEL_753ad73a3f634135ba81050ece69982b",
       "value": 5
      }
     },
     "6a5fec8845cf4558a316bec56be9ebce": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "753ad73a3f634135ba81050ece69982b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "7bf8ea55b40642faa56ce38f2ce5eb17": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "8216b691237a4f85b6ad0285831b3d8b": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "layout": "IPY_MODEL_440aaca2972d40149c237f3d56e4ac6f",
       "outputs": [
        {
         "data": {
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAAecAAAFCCAYAAADL3BUJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAHoBJREFUeJzt3XtwlNX9x/HPIpdsBEMEEowoIlYomlizCURBjWJBA1PtrxpuolDsKKXR6YAX6tiqBSkaaoVKSlAJYh0wBSVWLjKiqQESNgmYGKpMWwQvQIKS1TQJBvL8/niKgoRLkt09z+6+XzMZJ2b38aPj+PF7cvYcl2VZlgAAgGN0MB0AAAAcj3IGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHKaj6QAAIlB1tZSXJ1VUSD6fFBMjJSVJkydLvXqZTgcY57IsyzIdAkCE8HqlOXOktWvt7xsbv/uZ2y1ZlnTzzdLMmVJqqpmMgANQzgCCIydHmjFDamiwS/hkXC67qLOzpalTg5cPcBCWtQEE3tFirq8//Wsty37djBn29xQ0IhCTM4DA8nql9PQzK+bvi46WCgullBS/xwKcjN3aAAJrzhx7KbstGhrs9wMRhskZQOBUV0t9+x6/8au1oqKkPXvYxY2IwuQMIHDy8tr/DJfLP88BQgjlDCBwKiraNzVL9tJ2ZaV/8gAhgnIGEDg+n3+ec/Cgf54DhAjKGUDgxMT45zmxsf55DhAiKGcAgZOUZG/oag+3W0pM9E8eIESwWxtA4LBbG2gTJmcAgRMXZ5+V7XK17f0ul5SRQTEj4jA5AwgsTggDWo3JGUBgpabal1hER7fufdHR9vsoZkQgLr4AEHhHL684g1upLJdLLm6lQoRjWRtA8JSW2mdlr1lj/z752DO33W4dbmpSaVyc0lavZmJGRKOcAQRfTY19JGdlpX3ASGyslJiouttu04Uej95//31dcMEFplMCxlDOABzl/vvv19lnn60nn3zSdBTAGMoZgKPs3LlTw4YN0+7du+V2u03HAYxgtzYAR7n00kuVkpKi5cuXm44CGEM5A3CcrKwsLViwQCzsIVJRzgAcZ+TIkaqrq9OmTZtMRwGMoJwBOE6HDh30q1/9SgsWLDAdBTCCDWEAHOmrr77SRRddpIqKCvXp08d0HCComJwBONI555yjCRMm6C9/+YvpKEDQMTkDcKyPPvpI1157rXbv3q2o9t4LDYQQJmcAjjVgwABdeeWVWrFihekoQFBRzgAc7b777tP8+fP5WBUiCuUMwNFuuukmffXVV9qyZYvpKEDQUM4AHO3ox6rmz59vOgoQNGwIA+B4Pp9P/fr1U2Vlpc4//3zTcYCAY3IG4HgxMTEaP348H6tCxGByBhASPvzwQ6Wnp2v37t3q0qWL6ThAQDE5AwgJAwcO1BVXXMHHqhARKGcAISMrK4uPVSEiUM4AQkZGRoZqa2tVXFxsOgoQUJQzgJDRoUMHTZs2jduqEPbYEAYgpNTW1qpfv36qqqpSQkKC6ThAQDA5Awgp3bt317hx47Ro0SLTUYCAYXIGEHJ27NihG264gY9VIWwxOQMIOYMGDVJiYqLy8/NNRwECgnIGEJKO3lYFhCPKGUBIysjI0IEDB1RSUmI6CuB3lDOAkHTWWWdxWxXCFhvCAISsox+r2rFjh8477zzTcQC/YXIGELK6d++usWPH8rEqhB0mZwAhraqqSjfeeKN2796tzp07m44D+AWTM4CQdtlll+myyy7jY1UIK5QzgJCXlZXFedsIK5QzgJA3evRo7d+/X1u3bjUdBfALfucMICxkZ2fr/fff17Jly0xHQSiprpby8qSKCsnnk2JipKQkafJkqVcvY7EoZwBh4eDBg7r44ov1z3/+U7179zYdB07n9Upz5khr19rfNzZ+9zO3W7Is6eabpZkzpdTUoMdjWRtAWIiNjVVmZqZyc3NNR4HT5eRI6enS66/bpXxsMUtSQ4P9515/3X5dTk7QIzI5AwgbH3zwgUaMGKGPP/6Yj1WhZTk50owZUn39mb8nOlrKzpamTg1cru9hcgYQNi6//HINHDhQK1euNB0FTuT1tr6YJfv1M2ZIpaWBydUCyhlAWOG2KpzUnDn2knVbNDTY7w8SlrUBhJUjR46of//+ys/PV6qBjTxwqOpqqW/fE3+/3BpRUdKePUHZxc3kDCCsnHXWWZo2bRqHkuB4eXntf4bL5Z/nnIGOQfmrAEAQTZkyRf3799f+/fsVHx9vOg6coKKifVOzZC9tV1b6J89pUM4Aws65556r22+/Xbm5uXr00UdNx0GQHT58WNXV1fr888+//UrfulUD/fHwgwf98ZTTopwBhKWsrCyNHDlSDz30EB+rChPNzc06cODAcaXb0teBAwfUs2dPJSQkfPt1tdvtnxCxsf55zmlQzgDCUmJiogYMGKBVq1Zp7NixpuPgFCzL0sGDB09buvv27VNMTMxxpZuQkKArrrhCGRkZ334fFxenjh2/V29PPSXt3Nm+pW23W0pMbN/f7BlitzaAsLVq1SplZ2dr8+bNpqNErK+//vq0pfv5558rKirqhNL9/lfv3r3VpUuXtgUJsd3alDOAsHX48GH1799fK1euVEpKiuk4YaWhoeGMSteyLJ1//vmnLN3zzjtP0dHRgQ/9f/9nH8nZltpzuaSf/lQK0gE3lDOAsDZ37lzt2LFDS59+2pG3DznNN998o3379n1brp999lmLpdvQ0HDaSTchIUHdunWTy+Uy/bdl83rts7Jbe0KYZB/hWVgoBel/8ihnAGGtdsMGFY0apVEdOtgl4bDbh4KlpR3MLX3V1taqd+/epy3d2NhY55Rua4TI2dqUM4Dw9b//EDfX15/6xCWXyy7qIP8H2B9as4O5R48eLRbtscvOPXv2VIcOYX4+1dGCbmg49RK3wX8vKGcA4SlEJqSTsSxLtbW1Z7SD+ZxzzjntpBsfH3/iDuZIVlpqn5W9Zo1dwseeuX10RSUjw15RMbBfgXIGEH4c/rvFM93B3KVLlxMmW7/uYIZUU2PvRaistA8YiY21Py41aZLRvQiUM4DwY2hXbkNDg/bu3Xtcwba0oaq5ufmMdjCfffbZrc+PsEA5AwgvAfg86/d3MJ/sq76+PvR2MMOR+AUEgPDih1uDDjU16eVrrtGCqKhvdzDHx8efULLp6enhsYMZjkM5Awgvfrh9qMuRIxqZkKDkefOUkJCgXr16hf8OZjgK5QwgvPh8fnlMn7PPVp8rr/TLs4DW4n8FAYSXmBj/PCdItw8BLaGcAYSXpCR7Q1d7BPH2IaAl7NYGEF5C7PYhoCVMzgDCitWrl/71gx/oSFsf4HLZJ0NRzDCIcgYQNnw+n26//XY9/s03crV1advtto9sBAyinAGEhW3btsnj8Sg+Pl6Lt29Xhz/+0T6KszWOnq3N3c8wjHIGENIsy1Jubq5GjBihWbNm6bnnnlNUVJR9eUV2tl24pzsYxOVy1KUXABvCAISsuro63XvvvaqoqFB+fr4GDBhw4oscfvsQ0BLKGUBIqqqq0m233aarr75aCxYsUPTplrAdevsQ0BLKGUDIWbp0qWbMmKGnn35akyZNMh0H8DuO7wQQMurr65WVlaVNmzbpnXfe0eWXX246EhAQbAgDEBJ27typtLQ0NTY2qrS0lGJGWKOcATjeihUrNGzYME2bNk0vv/yyunbtajoSEFAsawNwrEOHDmn69Olat26d1q9fryu5JQoRgskZgCPt2rVLQ4cO1b59+1RWVkYxI6JQzgAcZ/Xq1UpLS9Odd96p/Px8xfjrGkggRLCsDcAxmpqa9PDDD2vlypUqKCjQkCFDTEcCjKCcATjCJ598ojFjxujcc89VWVmZevToYToSYAzL2gCMW7t2rVJTU3XrrbeqoKCAYkbEY3IGYMzhw4f1u9/9TkuXLlV+fr6uueYa05EAR6CcARixd+9ejRs3Tp06dVJ5ebni4uJMRwIcg2VtAEG3ceNGeTwe3XDDDVq3bh3FDHwPkzOAoGlubtbs2bOVk5OjZcuWafjw4aYjAY5EOQMIipqaGt1xxx3fno2dkJBgOhLgWCxrAwi4oqIiJScny+Px6O2336aYgdNgcgYQMM3NzZo3b56ys7O1ZMkSZWRkmI4EhATKGUBAfPnll5o0aZJqamrk9Xp14YUXmo4EhAyWtQH43datW+XxeHTJJZeosLCQYgZaickZgN9YlqUFCxZo1qxZWrRokX7605+ajgSEJMoZgF/4fD5NmTJFu3bt0pYtW9S/f3/TkYCQxbI2gHbbtm2bPB6P4uLitGnTJooZaCfKGUCbWZal3NxcjRgxQrNmzdLChQsVFRVlOhYQ8ljWBtAmdXV1uvfee1VRUaGioiINGDDAdCQgbDA5A2i1qqoqDR48WF26dFFxcTHFDPgZ5QygVV566SWlp6frwQcf1AsvvKDo6GjTkYCww7I2gDPS0NCgrKwsFRUVaePGjUpMTDQdCQhbTM4ATmvnzp1KS0tTfX29vF4vxQwEGOUM4JRWrFihoUOH6pe//KX++te/qlu3bqYjAWGPZW0ALTp06JCmT5+udevWaf369UpOTjYdCYgYlDOAE+zatUu33367+vbtq7KyMsXExJiOBEQUlrUBHGf16tUaMmSIJk6cqL/97W8UM2AAkzMASVJTU5MefvhhrVy5UgUFBUpLSzMdCYhYlDMAffLJJxozZozOPfdclZWVqUePHqYjARGNZW0gwq1bt06pqam65ZZbVFBQQDEDDsDkDESow4cP67HHHlNeXp5effVVXXvttaYjAfgfyhmIQHv37tX48ePVsWNHlZeXKy4uznQkAMdgWRuIMBs3bpTH41F6errWrVtHMQMOxOQMRIjm5mbNnj1bCxcu1LJly3TjjTeajgTgJChnIALU1NTojjvuUGNjo8rKypSQkGA6EoBTYFkbCHNFRUVKTk6Wx+PR22+/TTEDIYDJGQhTzc3NmjdvnrKzs7VkyRJlZGSYjgTgDFHOQBj68ssvNWnSJNXU1Mjr9erCCy80HQlAK7CsDYSZrVu3yuPxqH///iosLKSYgRBEOQNhwrIsLViwQKNHj9a8efP0zDPPqHPnzqZjAWgDlrWBMODz+XT33Xfr3//+t7Zs2aL+/fubjgSgHZicgRC3fft2paSkqFevXtq8eTPFDIQByhkIUZZlafHixfrxj3+sJ554QgsXLlRUVJTpWAD8gGVtIATV1dVp6tSp2r59u9577z0NHDjQdCQAfsTkDISYqqoqDR48WJ06dVJJSQnFDIQhJmfApOpqKS9PqqiQfD4pJkZKSpImT5Z69Trh5S+99JKmT5+up556SpMnTw5+XgBB4bIsyzIdAog4Xq80Z460dq39fWPjdz9zuyXLkm6+WZo5U0pNVUNDg7KyslRUVKT8/HwlJiaayQ0gKChnINhycqQZM6SGBruET8blktxu7X/gAY147TUNGjRIubm56tatW/CyAjCCcgaC6Wgx19ef8VvqJZWOHatrXnlFLpcrcNkAOAblDASL1yulp7eqmL8VHS0VFkopKX6PBcB52K0NBMucOfZSdls0NNjvBxARmJyBYKiulvr2PX7jV2tFRUl79rS4ixtAeGFyBoIhL6/9z3C5/PMcAI5HOQPBUFHRvqlZspe2Kyv9kweAo1HOQDD4fP55zsGD/nkOAEejnIFgiInxz3NiY/3zHACORjkDwZCUZG/oag+3W+JkMCAisFsbCAZ2awNoBSZnIAiae/bUh/366UhbH+BySRkZFDMQIShnIMAOHDigUaNGKbtTJ7nc7rY9xO22L8EAEBEoZyCAtmzZouTkZCUmJiqntFQd5s2zj+JsjehoKTubozuBCMJ9zkAAWJalP/3pT/rDH/6gxYsX6yc/+Yn9g6lT7T+24lYqZWd/9z4AEYENYYCf1dbWavLkyfr000+Vn5+viy666MQXlZbaZ2WvWWOX8LFnbh+9zzkjw17KZmIGIg7lDPhRWVmZMjMzlZGRoezsbHXp0uXUb6ipsY/krKy0DxiJjbU/LjVpEpu/gAhGOQN+YFmWFi1apEcffVTPPfecMjMzTUcCEML4nTPQTl9//bXuueceVVVVadOmTbr00ktNRwIQ4titDbTDBx98oNTUVEVHR6u4uJhiBuAXlDPQRkuXLtX111+vmTNn6vnnn5e7rZ9hBoDvYVkbaKX6+nplZWVp8+bNeuedd3T55ZebjgQgzDA5A63w0UcfKS0tTY2NjfJ6vRQzgICgnIEztGLFCg0bNkzTpk3Tyy+/rK5du5qOBCBMsawNnMahQ4c0ffp0rV27VuvXr1dycrLpSADCHOUMnMKuXbuUmZmpCy64QGVlZerevbvpSAAiAMvawEkUFBRoyJAhmjBhglauXEkxAwgaJmfge5qamvSb3/xGr776qgoKCpSWlmY6EoAIQzkDx/j00081ZswYxcTEqLy8XD169DAdCUAEYlkb+J+33npLKSkpGj16tP7+979TzACMYXJGxDty5Igef/xxvfDCC1q+fLnS09NNRwIQ4ShnRLT9+/dr/PjxkqTy8nLFx8cbTgQALGsjghUWFio5OVlDhw7VW2+9RTEDcAwmZ0Sc5uZmzZ07V88++6yWLl2qkSNHmo4EAMehnBFRvvjiC02cOFE+n0+lpaXq06eP6UgAcAKWtRExiouLlZycrEGDBundd9+lmAE4FpMzwp5lWXr22Wf15JNPavHixbrllltMRwKAU6KcEdZ8Pp9+/vOfa/fu3SopKVG/fv1MRwKA02JZG2Fr27Zt8ng8Ou+887Rp0yaKGUDIoJwRdizL0qJFizRixAjNnj1bf/7zn9WlSxfTsQDgjLGsjbBSV1ene+65R5WVlSoqKtKAAQNMRwKAVmNyRtioqqpSamqqoqKiVFxcTDEDCFmUM8LCSy+9pPT0dD300EN64YUXFB0dbToSALQZy9oIaQ0NDcrKylJRUZE2btyoxMRE05EAoN2YnBGydu7cqbS0NP33v/+V1+ulmAGEDcoZISk/P19Dhw7Vvffeq1deeUXdunUzHQkA/IZlbYSUQ4cOacaMGVqzZo3WrVsnj8djOhIA+B3ljJDx8ccfKzMzU+eff77KysrUvXt305EAICBY1kZIeOONNzRkyBCNHTtWq1atopgBhDUmZzhaU1OTHnnkES1fvlyvvfaarr76atORACDgKGc41meffaaxY8eqa9euKi8vV8+ePU1HAoCgYFkbjrRhwwalpKTopptu0ptvvkkxA4goTM5wlCNHjuiJJ57Q888/r1deeUXXX3+96UgAEHSUMxxj//79mjBhgo4cOaKysjL17t3bdCQAMIJlbTjCP/7xD3k8Hl111VXasGEDxQwgojE5w6jm5mY9/fTTeuaZZ5SXl6ebbrrJdCQAMI5yhjFffPGF7rrrLn355Zfyer264IILTEcCAEdgWRtGlJSUyOPxaODAgSosLKSYAeAYTM4IKsuyNH/+fM2ePVu5ubm69dZbTUcCAMehnBE0Pp9PU6ZM0a5du1RcXKyLL77YdCQAcCSWtREU27Ztk8fjUVxcnDZt2kQxA8ApMDmjdaqrpbw8qaJC8vmkmBgpKUmaPFnq1euEl1uWpcWLF+uRRx7R/PnzNW7cuOBnBoAQ47IsyzIdAiHA65XmzJHWrrW/b2z87mdut2RZ0s03SzNnSqmpkqS6ujpNnTpV27dvV35+vgYOHGggOACEHpa1cXo5OVJ6uvT663YpH1vMktTQYP+511+3X5eTox07dmjw4MHq2LGjSkpKKGYAaAUmZ5xaTo40Y4ZUX3/GbzncubMe7tRJly1YoMmTJwcwHACEJ8oZJ+f12pNwK4r5qOaoKHV47z0pJcX/uQAgzLGsjZObM8desm6DDocO2e8HALQakzNaVl0t9e174u+XWyMqStqzp8Vd3ACAk2NyRsvy8tr/DJfLP88BgAhDOaNlFRXtm5ole0m8stI/eQAgglDOaJnP55/nHDzon+cAQAShnNGymBj/PCc21j/PAYAIQjmjZUlJ9oau9nC7pcRE/+QBgAjCbm20jN3aAGAMkzNaFhen5pEj1exyte39LpeUkUExA0AbUM5oUXV1te7bu1fftLWc3W77EgwAQKtRzjhBUVGRPB6Pzhk+XJ3mz5eio1v3gOhoKTubozsBoI24zxnfsixL2dnZys7O1osvvqhRo0bZP+jQwb78oqHBvhryZFwue2LOzpamTg1OaAAIQ2wIgyTp4MGDuuuuu1RdXa0VK1aob9++x7+gtNQ+K3vNGruEjz1z++h9zhkZ9lI2EzMAtAvlDHm9XmVmZurWW2/V3Llz1blz55O/uKbGPpKzstI+YCQ21v641KRJbP4CAD+hnCOYZVlauHChHn/8ceXk5OhnP/uZ6UgAAPE754j19ddf6xe/+IU++ugjbd68WZdcconpSACA/2G3dgSqqKhQSkqKYmJiKGYAcCDKOcIsWbJEw4cP16OPPqpFixbJ7XabjgQA+B6WtSNEfX29pk2bppKSEhUWFmrQoEGmIwEAToLJOQJ8+OGHGjJkiJqamrR161aKGQAcjnIOc8uXL9c111yj++67T8uWLVPXrl1NRwIAnAbL2mHq0KFD+vWvf60NGzZow4YN+tGPfmQ6EgDgDDE5h6H//Oc/Gjp0qKqrq1VaWkoxA0CIoZzDzOrVq5WWlqaJEycqPz9fMTExpiMBAFqJZe0w0dTUpJkzZyo/P18FBQVKS0szHQkA0EaUcxj49NNPNWbMGHXv3l3l5eXq0aOH6UgAgHZgWTvErV+/XikpKRo9erTeeOMNihkAwgCTc4g6cuSIHnvsMb344otasWKFrrvuOtORAAB+QjmHoH379mn8+PFyuVwqLy9XfHy86UgAAD9iWTvEFBYWyuPxaNiwYXrrrbcoZgAIQ0zOIaK5uVlz587Vs88+q6VLl2rkyJGmIwEAAoRyDgFffPGF7rzzTtXW1qq0tFR9+vQxHQkAEEAsaztcSUmJPB6PfvjDH+rdd9+lmAEgAjA5O5RlWZo/f75mz56txYsX65ZbbjEdCQAQJJSzA/l8Pk2ZMkUff/yxiouLdfHFF5uOBAAIIpa1HWbbtm3yeDyKj49XUVERxQwAEYhydgjLspSbm6sRI0Zo1qxZeu655xQVFWU6FgDAAJa1HaCurk5Tp07V9u3bVVRUpAEDBpiOBAAwiMnZsB07dmjw4MHq2LGjSkpKKGYAAOVs0ssvv6zrrrtODzzwgJYsWaLo6GjTkQAADsCytgGNjY26//779e677+rtt99WUlKS6UgAAAdhcg6yf/3rX7rqqqtUW1srr9dLMQMATkA5B9HKlSt19dVX6+6779by5ct1zjnnmI4EAHAglrWD4JtvvtGDDz6o1atX680331RqaqrpSAAAB6OcA2zPnj3KzMxUXFycysvLFRsbazoSAMDhWNYOoKNT8m233abVq1dTzACAM8LkHACHDx/Wb3/7Wy1btkyrVq3S0KFDTUcCAIQQytnP9u7dq3Hjxqlz584qLy9Xr169TEcCAIQYlrX9aOPGjfJ4PLrhhhu0du1aihkA0CZMzn7Q3Nys2bNnKycnR8uWLdPw4cNNRwIAhDDKuZ1qamo0ceJE1dfXq7S0VAkJCaYjAQBCHOV8rOpqKS9PqqiQfD4pJkZKSpImT5ZaWKLevHmzxo4dqwkTJuj3v/+9OnbkHycAoP1clmVZpkMY5/VKc+ZIa9fa3zc2fvczt1uyLOnmm6WZM6XUVFmWpT/+8Y966qmn9OKLL2rUqFFmcgMAwhLlnJMjzZghNTTYJXwyLpfkduu/TzyhCe+9p7179+rVV19V3759g5cVABARIrucjxZzff0Zv6Xe5dLfr7tOt65fr86dOwcwHAAgUkVuOXu9Unp6q4r5W9HRUmGhlJLi91gAAETu55znzLGXstuiocF+PwAAARCZk3N1tdS37/Ebv1orKkras6fFXdwAALRHZE7OeXntf4bL5Z/nAADwPZFZzhUV7ZuaJXtpu7LSP3kAADhGZJazz+ef5xw86J/nAABwjMgs55gY/zyH+5kBAAEQmeWclGRv6GoPt1tKTPRPHgAAjsFu7bZitzYAIEAic3KOi7PPyna52vZ+l0vKyKCYAQABEZmTs8QJYQAAx4rMyVmSUlOl7Gy7aFsjOtp+H8UMAAiQyL6AeOpU+4+tuJVK2dnfvQ8AgACI3GXtY5WW2mdlr1ljl/CxZ24fvc85I8O+z5mJGQAQYJTzsWpq7CM5KyvtA0ZiY+2PS02axOYvAEDQUM4AADhM5G4IAwDAoShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHIZyBgDAYShnAAAchnIGAMBhKGcAAByGcgYAwGEoZwAAHOb/AVv6k4yAPNmkAAAAAElFTkSuQmCC\n",
          "text/plain": "<Figure size 432x288 with 1 Axes>"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ]
      }
     },
     "89a9b6dd242b48ababb091ecd6061eb0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "8ce1d22d80e74ad68a5131aa5843fe3b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "VBoxModel",
      "state": {
       "_dom_classes": [
        "widget-interact"
       ],
       "children": [
        "IPY_MODEL_ef6b5e48e00f4271a7aea3a8a5e80a27",
        "IPY_MODEL_e80f16accc1d401c83915ee9cf9cd9b5",
        "IPY_MODEL_62b96c1445874d2f9c87e8e5d8f92c2c",
        "IPY_MODEL_501d8873caa14b58b9a78f19caa91ea3",
        "IPY_MODEL_b874fb3951864bbdb0c650d7dea303ad",
        "IPY_MODEL_8216b691237a4f85b6ad0285831b3d8b"
       ],
       "layout": "IPY_MODEL_120e36e54bcf4736b98e9f55567b4bf7"
      }
     },
     "8ce6ae3e5b1d458f9e55fc56249b2f1a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "a8b5867e8ac44cc7a5d371b01ccffba8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "aa894911d1de425faf02fd673b7fda4b": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "b874fb3951864bbdb0c650d7dea303ad": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "DropdownModel",
      "state": {
       "_options_labels": [
        "lobster",
        "power law",
        "Newman-Watts-Strogatz",
        "Erdős-Rényi"
       ],
       "description": "generator",
       "index": 0,
       "layout": "IPY_MODEL_3de3f658ee0c463ab28c2e881d1a2be2",
       "style": "IPY_MODEL_fc76310a36ea4b25b8d3c7f878a7e4b7"
      }
     },
     "e80f16accc1d401c83915ee9cf9cd9b5": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "IntSliderModel",
      "state": {
       "description": "m",
       "layout": "IPY_MODEL_6a5fec8845cf4558a316bec56be9ebce",
       "max": 10,
       "min": 1,
       "style": "IPY_MODEL_89a9b6dd242b48ababb091ecd6061eb0",
       "value": 5
      }
     },
     "ef6b5e48e00f4271a7aea3a8a5e80a27": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "IntSliderModel",
      "state": {
       "description": "n",
       "layout": "IPY_MODEL_aa894911d1de425faf02fd673b7fda4b",
       "max": 30,
       "min": 2,
       "style": "IPY_MODEL_446a0820466d4ff28f607b87ed2dd7b4",
       "value": 16
      }
     },
     "fc76310a36ea4b25b8d3c7f878a7e4b7": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.2.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
